package cn.yuanqiao.archive.archiveBorrowCar.service;

import cn.yuanqiao.archive.archiveBorrowCar.domain.YqdaborrowCar;

import java.util.List;
import java.util.Map;

/**
 * archiveBorrowCarService接口
 * 
 * @author yuanqiao
 * @date 2023-07-14
 */
public interface IYqdaborrowCarService
{
    /**
     * 查询archiveBorrowCar
     *
     * @param carId archiveBorrowCar主键
     * @return archiveBorrowCar
     */
    public YqdaborrowCar selectYqdaborrowCarByCarId(String carId);

    /**
     * 查询archiveBorrowCar列表
     *
     * @param yqdaborrowCar archiveBorrowCar
     * @return archiveBorrowCar集合
     */
    public List<YqdaborrowCar> selectYqdaborrowCarList(YqdaborrowCar yqdaborrowCar);

    /**
     * 新增archiveBorrowCar
     *
     * @param yqdaborrowCar archiveBorrowCar
     * @return 结果
     */
    public int insertYqdaborrowCar(YqdaborrowCar yqdaborrowCar);

    /**
     * 修改archiveBorrowCar
     *
     * @param yqdaborrowCar archiveBorrowCar
     * @return 结果
     */
    public int updateYqdaborrowCar(YqdaborrowCar yqdaborrowCar);

    /**
     * 批量删除archiveBorrowCar
     *
     * @param carIds 需要删除的archiveBorrowCar主键集合
     * @return 结果
     */
    public int deleteYqdaborrowCarByCarIds(String[] carIds);

    /**
     * 删除archiveBorrowCar信息
     *
     * @param carId archiveBorrowCar主键
     * @return 结果
     */
    public int deleteYqdaborrowCarByCarId(String carId);

    public int deleteYqdaborrowCarByArchiveIds(String[] archiveIds);


    List<Map<String, Object>> selectArchiveByArchiveIdAndCategoryId(String archiveIds);

    List<Map<String, Object>> selectArchiveByArchiveIdAndCategoryIdMap(Map<Long,List<String>> map);

    int batchInsertYqdaborrowCar(List<YqdaborrowCar> yqdaborrowCars);

    boolean checkArchiveIsAddCar(List<YqdaborrowCar> yqdaborrowCars);

    List<YqdaborrowCar> selectYqdaborrowCarListByIds(YqdaborrowCar yqdaborrowCar);

    List<Map<String, Object>> getArchiveListByArchiveCategory(YqdaborrowCar yqdaArchiveForm);

    boolean judgeborrow (List<YqdaborrowCar> yqdaborrowCars);
}
